做到 Day 16,我們已經分別練習過很多 n8n 的功能。
從一開始的 Trigger、JSON,到後來加入 AI、Webhook、Google Sheets、Email、Switch Node,昨天又處理了 AI 輸出格式不穩定的問題。
所以今天我想先不學新的 Node,而是做一件更重要的事:
把前面學過的東西全部組合起來,完成第一個比較完整的 AI 自動化 Workflow。
今天要做的是:
AI 客服訊息自動分類系統
假設今天有一個網站,每天會收到很多使用者訊息。
內容可能像:
「系統現在完全不能登入!」
也可能是:
「請問我要怎麼修改密碼?」
或是:
「希望之後可以增加深色模式。」
如果全部都要人工閱讀,再決定要怎麼處理,訊息一多就會花很多時間。
所以今天希望讓 AI 先幫忙完成:
閱讀 → 分類 → 摘要 → 分流 → 執行對應動作
這次把前幾天做過的功能全部接起來:
使用者訊息
↓
Webhook
↓
AI
↓
分類 + 摘要
↓
Switch Node
↙ ↓ ↘
urgent question suggestion
↓ ↓ ↓
Email Sheets Sheets
AI 負責理解文字。
Switch Node 負責根據 AI 的分類決定下一步。
Email 和 Google Sheets 則負責真正執行動作。

圖 1 AI 客服訊息自動分類系統完整 Workflow
首先從 Webhook 開始。
今天讓外部系統傳入的資料保持簡單:
{
"text": "系統現在完全無法登入,請盡快處理!"
}
Webhook 收到後,就會啟動整個 Workflow。
這部分其實就是 Day 10 做過的內容。
當時只是單純測試「外部資料能不能進來」,但現在 Webhook 已經正式變成整套系統的入口。

圖 2 Webhook 接收使用者訊息
接著把 Webhook 收到的 text 傳給 AI。
這次不只要求 AI 分類,也希望順便產生一段簡短摘要。
可以使用昨天修改過的 Prompt:
你是一個客服訊息分類器。
請分析使用者輸入的訊息。
分類只能選擇以下其中一種:
urgent:
系統無法使用、嚴重錯誤,或需要立即處理的問題。
question:
一般問題、操作方式詢問,或不緊急的系統問題。
suggestion:
新功能建議、改善意見或使用者提出的想法。
請輸出:
1. category:urgent、question 或 suggestion
2. summary:用一句話簡短整理使用者的問題
3. notify:如果 category 是 urgent,輸出 true,否則輸出 false
不要輸出其他說明。
使用者輸入:
{{ $json.body.text }}
這裡其實一次用到了前面學到的 Prompt、Expression 和 JSON。

圖 3 AI 分類與摘要 Prompt
如果輸入:
「系統現在完全無法登入,請盡快處理!」
希望 AI 最後產生類似:
{
"category": "urgent",
"summary": "使用者目前無法登入系統",
"notify": true
}
這比只輸出:
urgent
更有用了。
因為現在我們一次得到三個資訊:
category 可以拿來分流。
summary 可以存到 Google Sheets 或放進 Email。
notify 則可以表示是否需要通知。
這就是昨天 Structured Output 概念真正派上用場的地方。
接下來 Switch Node 不需要理解使用者到底說了什麼。
它只需要看:
category
如果:
category = urgent
就走第一條路。
如果:
category = question
走第二條。
如果:
category = suggestion
走第三條。
也就是:
AI
↓
category
↓
Switch
↙ ↓ ↘
urgent question suggestion

圖 4 根據 AI category 進行三種分流
如果 AI 判斷:
category = urgent
就自動寄出 Email。
例如 Email 可以設定成:
主旨:
【緊急通知】收到需要立即處理的問題
內容:
收到一筆緊急使用者訊息。
AI 摘要:
{{ AI 產生的 summary }}
請盡快確認問題。
這裡最大的改變是:
Email 內容也可以直接使用 AI 產生的摘要。
所以收到通知的人不一定需要先閱讀完整原文,就可以先知道大概發生什麼事情。
另外兩種類別目前先存到 Google Sheets。
表格可以設計成:
| Original TextCategorySummary | ||
|---|---|---|
| 請問如何修改密碼? | question | 使用者詢問密碼修改方式 |
| 希望增加深色模式 | suggestion | 使用者建議新增深色模式 |
這樣之後就可以直接從表格查看:
使用者說了什麼?
AI 判斷是哪一類?
AI 整理的重點是什麼?

圖 5 AI 分類結果自動儲存至 Google Sheets
做到這裡還不能直接說完成。
因為有三條路線,所以三條都要測試。
可以準備:
| 測試內容預期分類預期動作 | ||
|---|---|---|
| 系統完全無法登入 | urgent | |
| 請問如何修改密碼? | question | Google Sheets |
| 希望增加深色模式 | suggestion | Google Sheets |
先測試:
系統完全無法登入!
確認:
AI → urgent → Email
再測:
請問我要去哪裡修改密碼?
確認:
AI → question → Google Sheets
最後:
希望未來可以增加深色模式。
確認:
AI → suggestion → Google Sheets
如果三種都走到正確的位置,今天的 Workflow 就算完成了。
Day 6 第一次建立 Workflow 時,其實只有:
Manual Trigger → 測試資料
當時主要只是理解 Node 是怎麼連接的。
但現在已經變成:
Webhook → AI → Structured Output → Switch → Email / Google Sheets
而且這些 Node 不是單純接在一起而已,每一個都有自己的工作:
Webhook 負責接收資料。
AI 負責理解、分類與摘要。
Switch 負責控制流程。
Email 負責通知。
Google Sheets 負責保存結果。
這也是我做到今天才比較明顯感受到的地方:
自動化不是靠某一個很厲害的 Node,而是把不同工具組合成一個完整流程。
把前面的功能全部接起來之後,Workflow 明顯比以前複雜很多。
其中只要一個地方出錯,後面的 Node 就可能全部無法執行。
例如:
Webhook 沒收到
text↓
AI 沒有資料可以分析
↓
category 沒有產生
↓
Switch 無法正確分流
所以今天我也開始學到另一件很重要的事情:
Workflow 出錯時,不要一次檢查整條流程,而是從前面的 Node 開始,一個一個確認 Input 和 Output。
例如先確認 Webhook Output,再看 AI Output,最後才看 Switch。
這樣通常比較容易找到問題。
今天沒有加入新的工具,而是把前 16 天學到的內容真正組合起來。
最後完成:
使用者傳送訊息 → Webhook 接收 → AI 自動理解 → 分類與摘要 → Switch 自動分流 → Email 通知或 Google Sheets 儲存
這也是目前做到最完整的一個 AI Workflow。
但實際測試之後,我也發現一個新的問題:
如果其中一個 Node 執行失敗,整個 Workflow 怎麼辦?
例如 AI API 暫時出錯、資料格式不對,或 Google Sheets 寫入失敗,都可能讓流程中斷。